경보 발생 스크립트 ( Delay time을 주는 경우 )

 

디지털 입력태그를 경보 태그로 사용하는 경우가 있을 것이다.

이 경우, 현장의 Noise로 인하여 디지털 입력태그가 수시로 ON/OFF된다면 경보태그로 문제가 있을 것이다. 이것을 위해서 완전한 해결책은 아니지만 간단히 스크립트를 작성할 수 있다.

 

if($DI_INPUT==1){

    if( count > 20){              // count 는 경보발생 후 경보가 유지되는 시간을 체크 하는 변수이다. 경보 발생 후 count가 20이상이 되면 $DI_MINPUT태그를 살린다

       if($DI_MINPUT == 0)

          $DI_MINPUT=1;

    }

    else {            

              count=count+1;         //경보가 발생 후에 count가 20미만이면 계속해서 증가시킨다.

    }

}

else {

   if($DI_MINPUT == 1){

      count=0;

      $DI_MINPUT=0;

   }

}

 

위의 스크립트에서 $DI_INPUT은 실제로 들어오는 디지털 입력태그 이다. 이 태그를 경보로 설정하는 것이 아니고 $DI_NINPUT메모리 태그를 만들고 이 태그를 경보로 설정하여야 한다.

위의 스크립트 시간을 1초로 설정하면 a1값이 20을 넘을 때 (즉, 20초가 넘었을 때 디지털 메모리 태그 $DI_MINPUT태그를 ON함으로써 경보를 생성시킨다.